#ifndef __DATATOOL_EXCELDATAMANAGER_H__
#define __DATATOOL_EXCELDATAMANAGER_H__

#include <string>
#include <map>
#include "../Base/Logger.h"

class IDataInfoManager;
class CExcelDataInfoManager
{
public:
	CExcelDataInfoManager();
	~CExcelDataInfoManager();
	
	bool TransferExcelFile(std::string strFileName);
private:
	bool _LoadExcelFile(std::string strFileName);
	bool _ExportFile(std::string strFileName);
	void _RegisterAllDataInfoManager();
	//void _RegisterDataInfoManager(std::string strFileName, std::string strSheetName, IDataInfoManager * pDIM);
	void _RegisterDataInfoManager(std::string strFileName, std::string strSheetName, std::string strManagerName);
	IDataInfoManager * _GetDataInfoManager(std::string strFileName, std::string strSheetName);
	//std::map< std::string, IDataInfoManager * > m_ManagerMap;
	std::map< std::string, std::string > m_ManagerNameMap;
	Logger & m_rLogger;
};

#endif //__DATATOOL_EXCELDATAMANAGER_H__